
#include "gethttp.h"

int getLine(int sock, char* buf, int size)
{
	int count=0;
	char ch='\0';
	int len=0;

	while( (count<size-1) && ch!='\n' )
	{
		len = read(sock, &ch, 1);
		if(len==1)
		{
			if(ch=='\r')
				continue;
			else if(ch=='\n')
			{
				// buf[count]='\0';
				break;
			}
			//处理一般字符
			buf[count]=ch;
			count++;
		}
		else if(len==-1)
		{
			perror("read failed");
			count=-1;
			break;
		}
		else
		{
			//read返回0，客户端关闭sock连接
			fprintf(stderr, "client close\n");
			count=-1;//表示读取出错
			break;
		}
	}
	if(count>=0)
		buf[count]='\0';
	return count;//-1表示读取出错，0表示读到一个空行， 大于0表示成功读取一行
}